home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 001-025 / disk_008 / src / makefile.orig < prev    next >
Makefile  |  1992-05-06  |  7KB  |  210 lines

  1. # Hack or Quest makefile.
  2.  
  3. # on some systems the termcap library is in -ltermcap
  4. TERMLIB = -ltermlib
  5.  
  6. # original GAMEDIR = ../tmp
  7. GAMEDIR = /udr/sasdjw/games/hackdir
  8. SRCDIR  = /udr/sasdjw/games/src/hack
  9. CFLAGS= -g
  10. HACKCSRC = hack.Decl.c\
  11.    hack.apply.c hack.bones.c hack.c hack.cmdlist.c hack.do.c\
  12.    hack.do_name.c hack.do_wear.c hack.dog.c hack.eat.c hack.end.c\
  13.    hack.engrave.c hack.fight.c hack.invent.c hack.ioctl.c\
  14.    hack.lev.c hack.main.c hack.makemon.c\
  15.    hack.mkobj.c hack.mhitu.c\
  16.    hack.mon.c hack.monst.c hack.o_init.c hack.objnam.c\
  17.    hack.options.c\
  18.    hack.pri.c hack.read.c hack.rip.c hack.rumors.c\
  19.    hack.save.c\
  20.    hack.search.c hack.shk.c hack.stat.c hack.steal.c\
  21.    hack.termcap.c hack.timeout.c hack.topl.c\
  22.    hack.track.c hack.trap.c hack.tty.c hack.u_init.c hack.vault.c\
  23.    hack.whatis.c hack.wield.c hack.worm.c hack.worn.c hack.zap.c\
  24.    hack.version.c rnd.c alloc.c savelev.c\
  25.    mklev.c mklv.shk.c mklv.shknam.c mklv.makemaz.c
  26.  
  27. CSOURCES = $(HACKCSRC) mklev.c mklv.shk.c mklv.shknam.c mklv.makemaz.c\
  28.    makedefs.c
  29.  
  30. HSOURCES = mklev.h hack.h hack.mfndpos.h config.h\
  31.    def.edog.h def.eshk.h def.func_tab.h def.gen.h def.objclass.h\
  32.    def.monst.h def.obj.h def.permonst.h def.trap.h def.wseg.h\
  33.    def.objects.h
  34.  
  35. SOURCES = $(CSOURCES) $(HSOURCES)
  36.  
  37. AUX = data help hh rumors hack.6 hack.sh
  38.  
  39. HOBJ = hack.Decl.o hack.apply.o hack.bones.o hack.o hack.cmdlist.o hack.do.o\
  40.     hack.do_name.o hack.do_wear.o hack.dog.o hack.eat.o hack.end.o\
  41.     hack.engrave.o hack.fight.o hack.invent.o hack.ioctl.o\
  42.     hack.lev.o hack.main.o hack.makemon.o\
  43.     hack.mkobj.o hack.mhitu.o hack.mon.o\
  44.     hack.monst.o hack.o_init.o hack.objnam.o hack.options.o hack.pri.o\
  45.     hack.read.o hack.rip.o\
  46.     hack.rumors.o hack.save.o\
  47.     hack.search.o\
  48.     hack.shk.o hack.stat.o hack.steal.o hack.termcap.o\
  49.     hack.timeout.o hack.topl.o\
  50.     hack.track.o hack.trap.o\
  51.     hack.tty.o hack.u_init.o hack.vault.o hack.whatis.o hack.wield.o\
  52.     hack.worm.o hack.worn.o hack.zap.o savelev.o\
  53.     hack.version.o\
  54.     mklev.o hack.monst.o mklv.shk.o\
  55.     mklv.shknam.o mklv.makemon.o mklv.makemaz.o mklv.engrave.o $(GOBJ)
  56.  
  57. GOBJ = rnd.o alloc.o
  58.  
  59. hack:   $(HOBJ) $(GOBJ) makefile
  60.    @echo "Loading ..."
  61.    cc -o hack $(GOBJ) $(HOBJ) $(TERMLIB) -lc
  62.    @echo "Made Hack."
  63.  
  64. .c.o: ; cc -c -o $@ $(CFLAGS) $*.c
  65.  
  66. makedefs:   makedefs.c
  67.    cc $(CFLAGS) -o makedefs makedefs.c
  68.  
  69.  
  70. hack.onames.h:   makedefs def.objects.h
  71.    makedefs > hack.onames.h
  72.  
  73. mklv.engrave.o: hack.engrave.c mklev.h
  74.     rm -f mklv.engrave.c
  75.     ln hack.engrave.c mklv.engrave.c
  76.     cc -c $(CFLAGS) -DMKLEV mklv.engrave.c
  77.     rm -f mklv.engrave.c
  78.  
  79. lint:   lint_h lint_m
  80.    @echo "Lint done."
  81.  
  82. lint_h:
  83. # lint cannot have -p here because (i) capitals are meaningful:
  84. # [Ww]izard, (ii) identifiers may coincide in the first six places:
  85. # doweararm() versus dowearring().
  86. # _flsbuf comes from <stdio.h>, a bug in the system libraries.
  87.    lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d' > olint_h
  88.    cat olint_h | sed '/never used/d;/warning/d'
  89.  
  90. lint_m:
  91.    lint -axbh -DLINT -DMKLEV mklev.c hack.makemon.c hack.monst.c\
  92.       hack.o_init.c hack.mkobj.c mklv.shk.c mklv.makemaz.c alloc.c\
  93.       rnd.c
  94.  
  95.  
  96. print:
  97.    print *.h makefile  $(AUX)
  98.    print mklev.c mklev.*.c rnd.c alloc.c hack.c
  99.    print hack.Decl.c Hack.magic.C hack.[a-m]*.c
  100.    print hack.[n-z]*.c
  101.    print show.c makedefs.c
  102.  
  103. diff:
  104.    @- for i in $(SOURCES) $(AUX) ; do \
  105.       echo ; echo diff $D/$$i $$i ; \
  106.       diff $D/$$i $$i ; done
  107.  
  108. distribution: makefile
  109.    @- for i in READ_ME $(SOURCES) $(AUX) makefile date.h hack.onames.h\
  110.       ; do \
  111.       cmp -s $$i $D/$$i || \
  112.       ( echo cp $$i $D ; cp $$i $D ) ; done
  113. # the distribution directory also contains the empty files
  114. # perm and record, and the informative files Porting and Bugs.
  115.  
  116.  
  117. install:
  118.    mv -f $(GAMEDIR)/hack $(SRCDIR)/hack.old
  119.    cp hack $(GAMEDIR)/hack
  120.    chmod 0777 $(GAMEDIR)/hack
  121.    mv -f $(GAMEDIR)/mklev $(SRCDIR)/mklev.old
  122.    cp mklev $(GAMEDIR)/mklev
  123.    chmod 0777 $(GAMEDIR)/mklev
  124.    rm -f $(GAMEDIR)/bones*
  125.  
  126. depend:
  127. # For the moment we are lazy and disregard /usr/include files because
  128. # the sources contain them conditionally. Perhaps we should use cpp.
  129. #         -e 's,<\(.*\)>,"/usr/include/\1",' \
  130. #
  131.    for i in ${CSOURCES}; do \
  132.       ( /bin/grep '^#[    ]*include' $$i | sed -n \
  133.          -e '/<.*>/d' \
  134.          -e 's/[^"]*"\([^"]*\)".*/\1/' \
  135.          -e H -e '$$g' -e '$$s/\n/ /g' \
  136.          -e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \
  137.          >> makedep); done
  138.    for i in ${HSOURCES}; do \
  139.       ( /bin/grep '^#[    ]*include' $$i | sed -n \
  140.          -e '/<.*>/d' \
  141.          -e 's/[^"]*"\([^"]*\)".*/\1/' \
  142.          -e H -e '$$g' -e '$$s/\n/ /g' \
  143.          -e '$$s/.*/'$$i': &\
  144.             touch '$$i/p \
  145.          >> makedep); done
  146.    @echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
  147.    @echo '$$r makedep' >>eddep
  148.    @echo 'w' >>eddep
  149.    @cp makefile makefile.bak
  150.    ed - makefile < eddep
  151.    rm eddep makedep
  152.    @echo '# DEPENDENCIES MUST END AT END OF FILE' >> makefile
  153.    @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> makefile
  154.    @echo '# see make depend above' >> makefile
  155.    - diff makefile makefile.bak
  156.    @rm -f makefile.bak
  157.  
  158. # DO NOT DELETE THIS LINE
  159.  
  160. hack.Decl.o:  hack.h
  161. hack.apply.o:  hack.h def.edog.h
  162. hack.bones.o:  hack.h
  163. hack.o:  hack.h def.trap.h
  164. hack.cmdlist.o:  config.h def.objclass.h def.func_tab.h
  165. hack.dog.o:  hack.h hack.mfndpos.h def.edog.h
  166. hack.eat.o:  hack.h
  167. hack.engrave.o:  mklev.h hack.h
  168. hack.fight.o:  hack.h
  169. hack.invent.o:  hack.h def.wseg.h
  170. hack.main.o:  hack.h
  171. hack.makemon.o:  mklev.h hack.h
  172. hack.mkobj.o:  mklev.h hack.h hack.onames.h
  173. hack.mhitu.o:  hack.h
  174. hack.mon.o:  hack.h hack.mfndpos.h
  175. hack.monst.o:  mklev.h def.eshk.h
  176. hack.o_init.o:  config.h def.objects.h hack.onames.h
  177. hack.objnam.o:  hack.h
  178. hack.options.o:  config.h hack.h
  179. hack.pri.o:  hack.h def.wseg.h
  180. hack.read.o:  hack.h
  181. hack.rumors.o:  config.h
  182. hack.search.o:  hack.h def.trap.h
  183. hack.shk.o:  hack.h hack.mfndpos.h def.eshk.h
  184. hack.steal.o:  hack.h
  185. hack.termcap.o:  config.h
  186. hack.timeout.o:  hack.h
  187. hack.track.o:  hack.h
  188. hack.trap.o:  hack.h def.trap.h
  189. hack.vault.o:  hack.h
  190. hack.whatis.o:  hack.h
  191. hack.wield.o:  hack.h
  192. hack.worm.o:  hack.h def.wseg.h
  193. hack.worn.o:  hack.h
  194. hack.zap.o:  hack.h
  195. hack.version.o:  date.h
  196. mklev.o:  mklev.h def.trap.h hack.onames.h savelev.h
  197. mklv.shk.o:  mklev.h def.eshk.h
  198. mklv.shknam.o:  mklev.h
  199. mklv.makemaz.o:  mklev.h
  200. savelev.o: hack.h
  201. mklev.h:  config.h def.objclass.h def.monst.h def.gen.h def.obj.h def.permonst.h 
  202.    touch mklev.h
  203. hack.h:  mklev.h hack.onames.h
  204.     touch hack.h
  205. def.objects.h:  def.objclass.h
  206.    touch def.objects.h
  207. # DEPENDENCIES MUST END AT END OF FILE
  208. # IF YOU PUT STUFF HERE IT WILL GO AWAY
  209. # see make depend above
  210.